<?php

namespace app\admin\model;

use think\Model;

/**
 * Room模型 - 房间信息
 * @property int $id 房间ID
 * @property int $admin_id 操作人员ID
 * @property int $store_id 所属门店ID
 * @property string $name 房间名称
 * @property int $status 状态
 * @property int $capacity 容纳人数
 * @property string $floor 所在楼层
 * @property string $building 所在楼栋
 * @property string $description 房间描述
 * @property string $created_at 创建时间
 * @property string $updated_at 更新时间
 * @property string $external_id 外部系统ID
 */
class Room extends Model
{
    // 表名
    protected $name = 'room';

    // 自动写入时间戳字段
    protected $autoWriteTimestamp = false;


    /**
     * 关联管理员（创建者）
     */
    public function admin(): \think\model\relation\BelongsTo
    {
        return $this->belongsTo(Admin::class, 'admin_id', 'id');
    }

    /**
     * 关联门店
     */
    public function store(): \think\model\relation\BelongsTo
    {
        return $this->belongsTo(Store::class, 'store_id', 'id');
    }

    /**
     * 关联预约记录（一对多）
     */
    public function appointments(): \think\model\relation\HasMany
    {
        return $this->hasMany(Appointment::class, 'room_id', 'id');
    }
}